In the pan-European digital cellular radio system known as Groupe Speciale Mobile (GSM) each of the RF channels is divided into timeslots of approximately 0.577 ms duration. The modulating bit rate for a GSM carrier is 270.838 kbit/s which means that the timeslot corresponds to 156.25 bit durations. During this time period the RF carrier is modulated by a data stream, the extent of which is termed a "burst". In other words, a burst represents the physical content of a timeslot. The timeslots are grouped together in sets of eight consecutive timeslots as one TDMA frame. (TDMA is an acronym for time division multiple access). A physical channel is defined by specifying both a RF channel (or, in the case of frequency hopping, a sequence of RF channels) and a TDMA frame timeslot number. Hence for a given RF channel the system has available to it eight physical channels.
There are two main types of logical channel within the GSM system known respectively as traffic channels (TCHs) and control channels (CCHs). The traffic channels are intended primarily to carry encoded speech or user data, whereas the control channels carry signalling and synchronization data between the base station and the mobile station.
One of the control channels, namely the so-called Fast Associated Control Channel (FACCH), is transmitted using capacity from a traffic channel. In this case, a number of bits from each burst of traffic data are "stolen" for use by the FACCH. In a normal traffic burst B there are two single bit flags which indicate respectively whether all the even bits or all the odd bits of the burst B have been stolen for a FACCH block.
It is also a feature of the GSM system that the encoded speech and user data is re-ordered and interleaved over a number of TDMA frames. In fact both speech and FACCH data are interleaved in the same way over 8 TDMA frames. Thus when a FACCH decode instruction occurs the FACCH data is extracted from the odd bits of the four most recently received bursts and the even bits of the immediately preceding four bursts. Because of the alignment between the FACCH and speech data interleaving (i.e. both are eight deep) the whole of a speech block is essentially lost to FACCH data when FACCH steal occurs. However, user data channels may be interleaved over twenty-two bursts. A block of 456 bits is split into 4 sets of 114 bits. Each of these sets is interleaved nineteen-deep, but the start of each is offset from the previous one by one burst, making the span over which the whole block is interleaved to be twenty-two bursts. By contrast with the situation in the case of speech data, the longer interleave length means that FACCH does not overwrite a whole block of user data, but instead partially overwrites a series of bursts from a sequence of user data blocks. By contrast with speech data, therefore, the whole of the user data block is not lost when FACCH steal occurs, but on the contrary the user data may be recovered using error correcting techniques as discussed below.
The GSM system uses a forward error correction code. Forward error correction codes are codes which permit correction of errors by the receive station without the need for retransmission. The basic requirement of a forward error correction code is that sufficient redundancy is included in the transmitted data for error correction to be accomplished at the receiver without further input from the transmitter. In the GSM system data is convolutionally encoded before it is transmitted. A maximum likelihood detector such as a Viterbi detector is generally used to decode the received convolutionally encoded data. This decoding process relies on the fact that the information content of each data symbol being decoded is distributed over a plurality of data elements (bits). The receiver includes means for estimating the certainty (or confidence level) of the value of each bit received. These confidence measures can be used to determine the most likely sequence of symbols transmitted, and hence the decoding process is robust to a proportion of erroneous received bits. (It is noted here that there is no coding or redundancy associated with the single bit steal flags).
In the case of user data, when FACCH steal has occurred the FACCH data bits will be interpreted as traffic data at the traffic decode stage. The FACCH data bits will convey an erroneous confidence weighting as far as the traffic data is concerned and consequently the bit error rate performance of the decoder will be impaired. At the traffic decode stage it is not straightforward to determine which data bits were stolen and therefore it is not an easy matter to compensate for the incorrect confidence level information contributed by the FACCH data bits.